for (var fullPath in byFullPath) if (byFullPath.hasOwnProperty(fullPath)) { var pbag = byFullPath[fullPath];
var deleteRequest = filesStore['delete'](fullPath);
deleteRequest.onerror = (errorEvent) => oneError(errorEvent, 'update: objectStore(files).delete(' + fullPath+')'); deleteRequest.onsuccess = (event) => { var getRequest = filesStore.get(fullPath);
getRequest.onerror = (errorEvent) => oneError(errorEvent, 'update: objectStore(files).delete(' + fullPath + ')'); getRequest.onsuccess = (event) => { var fileData: FileData = getRequest.result || { path: fullPath, properties: {} }; var properties = fileData.properties || (fileData.properties = {}); for (var p in pbag) if (pbag.hasOwnProperty(p)) { if (v === null || typeof v === 'undefined')
var putFile = filesStore.put(fileData);
getRequest.onerror = (errorEvent) => oneError(errorEvent, 'update: objectStore(files).put(' + fullPath + ')'); putFile.onsuccess = (event) =>
(errorEvent) => callback(wrapErrorEvent(errorEvent, 'update: _updateEditedUTC')));
callback: (error: Error, properties: { [property: string]: string; }) => void): void { var transaction = this._db.transaction('files'); transaction.onerror = (errorEvent) => callback(wrapErrorEvent(errorEvent, 'read: transaction'), null);
var filesStore = transaction.objectStore('files'); var getRequest = filesStore.get(fullPath);
getRequest.onerror = (errorEvent) => callback(wrapErrorEvent(errorEvent, 'read: get(' + fullPath +')'), null); getRequest.onsuccess = (event) => { var fileData: FileData = getRequest.result;
callback(new Error('File not found: ' + fullPath + '.'), null); callback(null, fileData.properties);
private _updateEditedUTC(now: number, transaction: IDBTransaction, callback: (errorEvent: ErrorEvent) => void) { var metadataStore = transaction.objectStore('metadata'); var metadataData = { property: 'editedUTC', value: Date.now() }; var putMetadata = metadataStore.put(metadataData);
putMetadata.onerror = (errorEvent) => callback(errorEvent);
putMetadata.onsuccess = (event) => callback(null);